#ifndef ENGINE_H
#define ENGINE_H

#include<Windows.h>
#include "Base.h"
#include <stdio.h>
#include <string>
#include "Engine_def.h"
#include <vector>
#include "Timer.h"


class CProcess;
class CCore;
class CGraphicsManager;
class CFontManager;
class CLogger;

class CEngine
{
public:
	CEngine(): m_pCore(NULL), m_pProcess(NULL), m_pTimer(30),m_bRenderDebugInfo(0) {};
	~CEngine();
	void Init(HWND hWnd);
	int loadXML(const std::string& path);
	void Deinit();
	void Update();
	void Render();
	void setProcess(CProcess*);
	SEngineParams GetInitParams(){ return m_sEngineParams; }

private:

	void RenderScene();



private:
	HWND				m_hwnd;
	CCore*				m_pCore;
	CProcess*			m_pProcess;
	CLogger*			m_pLogger;
	CTimer				m_pTimer;
	SEngineParams		m_sEngineParams;
	bool				m_bRenderDebugInfo;
};

#endif